#include<iostream>

using namespace std;

const int N = 100010;

int e[N], l[N], r[N], idx;//head, tail默认为0， 1;l表示左节点的坐标，r表示右节点的坐标
int m;

//初始化
void init(){
    r[0] = 1, l[1] = 0;
    idx = 2;
}
//在下标是k的数右侧插入一个数
void add(int k, int x){
    e[idx] = x;
    r[idx] = r[k];
    l[idx] = k;
    l[r[k]] = idx;
    r[k] = idx;
    idx ++;
}
//删除下标是k的点
void remove(int k){
    r[l[k]] = r[k];
    l[r[k]] = l[k];
}

int main(){
    init();
    cin >> m;
    while(m --){
        char op[3];
        cin >> op;
        if(op[0] == 'L'){
            int x;
            cin >> x;
            add(0, x);
        }
        else if(op[0] == 'R'){
            int x;
            cin >> x;
            add(l[1], x);
        }
        else if(op[0] == 'D'){
            int k;
            cin >> k;
            remove(k + 1);
        }
        else if(op[0] == 'I' && op[1] == 'L'){
            int k, x;
            cin >> k >> x;
            add(l[k + 1], x);
        }
        else if(op[0] == 'I' && op[1] == 'R'){
            int k, x;
            cin >> k >> x;
            add(k + 1, x);
        }
    }
    for(int i = r[0]; i != 1; i = r[i]) cout << e[i] << " ";
    return 0;
}